
#ifndef _MPI_VDEC_H_
#define _MPI_VDEC_H_

#ifdef  __cplusplus
extern "C"
{
#endif








typedef struct __sgks_mpi_vdec_disp
{
    u32 width;
	u32 height;
} sgks_mpi_vdec_disp_s;




typedef struct __sgks_mpi_vdec_data
{

	u8  *startAddr;
	u8  *endAddr;
	u32 firstPTS;
	u32 picNums;
	u32 nextSize;
	u32 picWidth;
	u32 picHeight;
} sgks_mpi_vdec_data_s;






typedef struct __sgks_mpi_vdec_PlayControl
{
    SGKS_VDEC_PLAY_CONTROL_E PlayControl;
	u32						 setp;
} sgks_mpi_vdec_PlayControl_s;

typedef struct __sgks_mpi_vdec_FeedH264Info
{
	/*feed buffer start addr.*/
	u8  *startAddr;
	/*feed buffer end addr.*/
	u8  *endAddr;
	/*h264 stream start pts.*/
	u32 firstPTS;
	/*number of picture in this feed buffer.*/
	u32 picNums;
	/*next feed size.*/
	u32 nextSize;
	/*picture width.*/
	u32 picWidth;
	/*picture height.*/
	u32 picHeight;
} sgks_mpi_vdec_FeedH264Info_t;



typedef struct __sgks_h264_decode 
{
	u8  *start_addr;
	u8  *end_addr;    // exclusive
	u32 first_display_pts;
	u32 num_pics;
	u32 next_size;
	u32 pts;
	u32 pts_high;
	u32 pic_width;
	u32 pic_height;
} sgks_h264_decode_t;

typedef struct __sgks_mjpeg_decode 
{
	u8     *addr;	 
	u32    size;
} sgks_mjpeg_decode_t;
///////////////////////////////////////////


typedef enum
{
	DECODE_STOPPED,
	DECODE_H264,
	DECODE_RAW,
	DECODE_JPEG,
	DECODE_MULTI,
	DECODE_PAUSED,
} sgks_decode_file_state_e;






#ifdef  __cplusplus
}
#endif


#endif 

